From bf8ff305d6fe0629915904c0121f744b61bd2865 Mon Sep 17 00:00:00 2001 From: robertl Date: Wed, 6 Nov 2002 15:41:46 +0000 Subject: [PATCH] Add sketchy pointy clicky thingy wrapper in TK. --- guibabel | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100755 guibabel diff --git a/guibabel b/guibabel new file mode 100755 index 000000000..ceee62f1c --- /dev/null +++ b/guibabel @@ -0,0 +1,95 @@ +#!/bin/sh +# the next line restarts using wish \ +exec wish "$0" "$@" + +# +# This was largely cribbed from the TCL demo code. My TCL skills weren't +# that great when I last used it about ten years ago and my Tk skills never +# existed before. So be kind. +# + +set font {Helvetica 14} +set ifile {} +set ofile {} +set use_shortnames 0 + +proc positionWindow w { + wm geometry $w +300+300 +} + +proc showCmd w { + global ifile ofile use_shortnames ftyperead ftypewrite + set cmd "-i $ftyperead -f $ifile" + if {$use_shortnames > 0} { + set cmd [concat $cmd "-s"] + } + set cmd [concat $cmd "-o $ftypewrite -F $ofile"] + tk_messageBox -icon info -message $cmd +} + +set w .filebox +catch {destroy $w} +toplevel $w +wm title $w "gpsbabel" +wm iconname $w "filebox" +positionWindow $w + +#label $w.msg -font $font -wraplength 4i -justify left -text "Enter a file name in the entry box or click on the \"Browse\" buttons to select a file name using the file selection dialog." +#pack $w.msg -side top + +frame $w.buttons +pack $w.buttons -side bottom -fill x -pady 2m +button $w.buttons.dismiss -text Cancel -command "destroy $w" +button $w.buttons.code -text OK -command "showCmd $w" +pack $w.buttons.dismiss $w.buttons.code -side left -expand 1 + +foreach i {read write} { + set f [frame $w.$i] + set ftype "ftype$i" + label $f.lab -text "Select a file to $i: " -anchor e + entry $f.ent -width 20 + button $f.but -text "Browse ..." -command "fileDialog $w $f.ent $i" +# TODO: Get this list from 'gpsbabel -?' instead of hardcoding it here. + tk_optionMenu $f.ftypes $ftype geo gpsman gpx \ + magellan mapsend pcx mapsource gpsutil tiger csv xmap dna psp \ + cetus gpspilot magnav garmin mxf holux ozi tpg + pack $f.lab -side left + pack $f.ent -side left -expand yes -fill x + pack $f.but -side left + pack $f -fill x -padx 1c -pady 3 + pack $f.ftypes -side right -padx 45 +} +set ftyperead "geo" +set ftypewrite "mapsend" + + checkbutton $w.strict -text "Make Up Shortnames" \ + -variable use_shortnames -onvalue 1 -offvalue 0 + pack $w.strict -anchor c + +proc fileDialog {w ent operation} { + # Type names Extension(s) Mac File Type(s) + # + #--------------------------------------------------------- + set types { + {"All files" * } + {"loc files" {.loc} } + {"Waypoint files" {.wpt} } + } + global ifile ofile + if {$operation == "read"} { + set ifile [tk_getOpenFile -filetypes $types -parent $w] + if [string compare $ifile ""] { + $ent delete 0 end + $ent insert 0 $ifile + $ent xview end + } ; + } else { + set ofile [tk_getSaveFile -filetypes $types -parent $w \ + -initialfile Untitled ] + if [string compare $ofile ""] { + $ent delete 0 end + $ent insert 0 $ofile + $ent xview end + } ; + } +} -- 2.30.2